﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using IFramework;
public class TestLinkedList : MonoBehaviour
{
    void Double()
    {
        DoubleLinkedList<int> list = new DoubleLinkedList<int>();
        for (int i = 0; i < 10; i++)
        {
            list.Add(i);
        }
        //Log.L(list.IndexOf(10));
        //list.Remove(10);
        //list.RemoveAt(10);
        //list.Insert(10, 222);
        list.Reverse();
        //for (int i = 0; i < list.Count; i++)
        //{
        //    Log.L(list[i]);
        //}
        foreach (var item in list)
        {
            Log.L(item);
        }
    }
    void Start()
    {
        Cyc();
    }
    void Cyc()
    {
        CycLinkedList<int> list = new CycLinkedList<int>();
        for (int i = 0; i < 10; i++)
        {
            list.Add(i);
        }
        //Log.L(list.IndexOf(2));
        //Log.L(list.IndexOf(1));

        //list.Insert(10,222);
        //list.Insert(10, 222);

        //Log.L(list.Remove(0));
        //Log.L(list.Remove(9));

        //list.Add(222);
        //Log.L(list[2]); Log.L(list[2]);
        list.RemoveAt(9);
        list.RemoveAt(8);

        for (int i = 0; i < list.Count; i++)
        {
            Log.L(list[i]);
        }
        //foreach (var item in list)
        //{
        //    Log.L(item);
        //}
    }
    void Single()
    {
        SingleLinkedList<int> list = new SingleLinkedList<int>();
        for (int i = 0; i < 10; i++)
        {
            list.Add(i);
        }
        // list.Reverse();
        //Log.L(list.IndexOf(0));
        //for (int i = 0; i < list.count; i++)
        //{
        //    Log.L(list[i]);
        //}
        foreach (var item in list)
        {
            Log.L(item);
        }
    }
    // Update is called once per frame
    void Update()
    {
        
    }
}
